import vm from 'vm';
import fs from 'fs';

describe('unfetch/polyfill', () => {
	it('should resolve to fetch when window.fetch exists', () => {
		function fetch() {}
		let window = { fetch, require };
		window.window = window.global = window.self = window;
		let filename = require.resolve('../polyfill/index.js');
		vm.runInNewContext(fs.readFileSync(filename), window, 'polyfill-test.js');
		expect(window.fetch).toBe(fetch);
	});

	it('should resolve to unfetch when window.fetch does not exist', () => {
		let window = { require };
		window.window = window.global = window.self = window;
		let filename = require.resolve('../polyfill/index.js');
		vm.runInNewContext(fs.readFileSync(filename), window, 'polyfill-test.js');
		expect(window.fetch).toEqual(expect.any(Function));
		expect(window.fetch).toHaveLength(2);
	});
});
